//  用户登录模块的vuex
import { getUserInfo } from '@/api/user'
// import { Toast } from 'vant'
import {
  setStorageToken,
  getStorageToken,
  removeStorageToken
} from '@/utils/storage'

export default {
  namespaced: true,
  state: {
    token: getStorageToken(),
    userInfo: {}
  },

  mutations: {
    // 封装到 unils
    setToken(state, platlode) {
      state.token = platlode

      // localStorage.setItem('hm-25-sq', JSON.stringify(platlode))
      setStorageToken(platlode)
    },
    removeToken(state) {
      // 把vuex的token为空
      state.token = {}
      // 删除本地储存的token
      removeStorageToken()
    },
    // 提供用户数据
    setUserInfo(state, payload) {
      state.userInfo = payload
    }
  },
  actions: {
    async Actions_getUserInfo(context) {
      try {
        // 请求数据
        const res = await getUserInfo()
        // 数据赋值
        context.commit('setUserInfo', res.data)
      } catch {
        // Toast('获取用户信息失败')
        // 跳回登录界面 1
        // this.$router.push('/login')
      }
    }
  }
}
